import { Message, MessageBox, Notification, Loading } from 'element-ui'

let loadingInstance

export default {
  // 消息提示
  msg(content) {
    Message.info(content)
  },
  // 错误消息
  msgError(content) {
    Message.error(content)
  },
  // 成功消息
  msgSuccess(content) {
    Message.success(content)
  },
  // 警告消息
  msgWarning(content) {
    Message.warning(content)
  },
  // 弹出提示
  alert(content) {
    MessageBox.alert(content, '系统提示')
  },
  // 错误提示
  alertError(content) {
    MessageBox.alert(content, '系统提示', { type: 'error' })
  },
  // 成功提示
  alertSuccess(content) {
    MessageBox.alert(content, '系统提示', { type: 'success' })
  },
  // 警告提示
  alertWarning(content) {
    MessageBox.alert(content, '系统提示', { type: 'warning' })
  },
  // 通知提示
  notify(content) {
    Notification.info(content)
  },
  // 错误通知
  notifyError(content) {
    Notification.error(content)
  },
  // 成功通知
  notifySuccess(content) {
    Notification.success(content)
  },
  // 警告通知
  notifyWarning(content) {
    Notification.warning(content)
  },
  // 确认窗体
  confirm(contentFirst, contentSecond) {
    let contentSplicing = `<span class='topMessage'>${contentFirst}</span></br><span class='bottomMessage'>${contentSecond}</span>`
    return MessageBox.confirm(contentSplicing, '提示', {
      cancelButtonText: '取消',
      confirmButtonText: '确定',
      type: 'warning',
      confirmButtonClass:'confirmButtonClass',
      cancelButtonClass:'cancelButtonClass',
      iconClass: 'iconfont icon-success',
      customClass: 'common-message message-logout',
      dangerouslyUseHTMLString: true
    })
  },
  // 确认窗体
  confirmNew(contentFirst, contentSecond,cancelButtonText,confirmButtonText,showCancelButton,showConfirmButton) {
    let contentSplicing = `<span class='topMessage'>${contentFirst}</span></br><span class='bottomMessage'>${contentSecond}</span>`
    return MessageBox.confirm(contentSplicing, '提示', {
      cancelButtonText:`${cancelButtonText}`,
      confirmButtonText: `${confirmButtonText}`,
      confirmButtonClass:'confirmButtonClass',
      cancelButtonClass:'cancelButtonClass',
      showConfirmButton:showConfirmButton,
      showCancelButton:showCancelButton,
      type: 'warning',
      iconClass: 'iconfont icon-success',
      customClass: 'common-message message-logout',
      dangerouslyUseHTMLString: true
    })
  },
  confirmNoFistTitle(content,cancelButtonText,confirmButtonText,showCancelButton,showConfirmButton,confirmButtonClass,cancelButtonClass) {
    let contentSplicing = `<span class='bottomMessage'>${content}</span>`
    return MessageBox.confirm(contentSplicing, '提示', {
      cancelButtonText:`${cancelButtonText}`,
      confirmButtonText: `${confirmButtonText}`,
      confirmButtonClass:`${confirmButtonClass ?confirmButtonClass :'confirmButtonClass'}`,
      cancelButtonClass:`${cancelButtonClass ?cancelButtonClass :'cancelButtonClass'}`,
      showConfirmButton:showConfirmButton,
      showCancelButton:showCancelButton,
      customClass: 'common-message message-logout',
      dangerouslyUseHTMLString: true
    })
  },
  // 删除提示
  confirmDelete(contentFirst, contentSecond) {
    let contentSplicing = `<span class='topMessage'>${contentFirst}</span></br><span class='bottomMessage'>${contentSecond}</span>`
    return MessageBox.confirm(contentSplicing, '提示', {
      cancelButtonText: '取消',
      confirmButtonText: '删除',
      confirmButtonClass:'confirmButtonClass',
      cancelButtonClass:'cancelButtonClass',
      type: 'warning',
      iconClass: 'iconfont icon-shanchu',
      customClass: 'common-message confirmDelete',
      dangerouslyUseHTMLString: true
    })
  },
  // 警告提示
  confirmWarning(contentFirst, contentSecond) {
    let contentSplicing = `<span class='topMessage'>${contentFirst}</span></br><span class='bottomMessage'>${contentSecond}</span>`
    return MessageBox.confirm(contentSplicing, '提示', {
      cancelButtonText: '取消',
      confirmButtonText: '确定',
      confirmButtonClass:'confirmButtonClass',
      cancelButtonClass:'cancelButtonClass',
      type: 'warning',
      iconClass: 'iconfont icon-jinggao',
      customClass: 'common-message confirmWarning',
      dangerouslyUseHTMLString: true
    })
  },
  confirmWarningForShip(contentFirst, contentSecond,cancelButtonText,confirmButtonText,showCancelButton,showConfirmButton) {
    let contentSplicing = `<span class='topMessage'>${contentFirst}</span></br><span class='bottomMessage'>${contentSecond}</span>`
    return MessageBox.confirm(contentSplicing, '提示', {
      cancelButtonText:`${cancelButtonText}`,
      confirmButtonText: `${confirmButtonText}`,
      confirmButtonClass:'confirmButtonClass',
      cancelButtonClass:'cancelButtonClass',
      showConfirmButton:showConfirmButton,
      showCancelButton:showCancelButton,
      type: 'warning',
      iconClass: 'iconfont icon-jinggao',
      customClass: 'common-message confirmjinggao',
      dangerouslyUseHTMLString: true
    })
  },
  confirmWarningForShip2(contentSecond,cancelButtonText,confirmButtonText,showCancelButton,showConfirmButton) {
    let contentSplicing = `<span class='bottomMessage' style="font-size: 20px">${contentSecond}</span>`
    return MessageBox.confirm(contentSplicing, '提示', {
      cancelButtonText:`${cancelButtonText}`,
      confirmButtonText: `${confirmButtonText}`,
      confirmButtonClass:'confirmButtonClass',
      cancelButtonClass:'cancelButtonClass',
      showConfirmButton:showConfirmButton,
      showCancelButton:showCancelButton,
      customClass: 'common-message confirmWarning',
      dangerouslyUseHTMLString: true
    })
  },
  // 提交内容
  prompt(content) {
    return MessageBox.prompt(content, '系统提示', {
      confirmButtonText: '确定',
      cancelButtonText: '取消',
      type: 'warning'
    })
  },
  // 打开遮罩层
  loading(content) {
    loadingInstance = Loading.service({
      lock: true,
      text: content,
      spinner: 'el-icon-loading',
      background: 'rgba(0, 0, 0, 0.7)'
    })
  },
  // 关闭遮罩层
  closeLoading() {
    loadingInstance.close()
  }
}
